It is considered to use large-capacity and high-speed non-volatile memories for a main memory, a cache memory, etc. Among the non-volatile memories, an MRAM (Magnetoresistive Random Access Memory) has non-volatility in view of data retention, and hence attracts attention as an alternative candidate for an SRAM (Static RAM), a RAM (Dynamic RAM), etc.
A part of the non-volatile memories such as the MRAM retains data logic utilizing a state change in constituent material and hence has a problem of a high error occurrence rate (hereinafter, an error rate) depending on a write voltage, access times, and aging degradation, and also an environmental change such as temperature and humidity.
It is thus considered, before shipping the non-volatile memories, to perform write to and reading from the non-volatile memories to perform screening for inspecting the error rate. It is also considered to replace a memory cell determined to have a high error rate by the screening with a redundant cell.
However, the MRAM shows change in write characteristics due to write conditions such as a write voltage, access times, aging degradation, and environmental conditions such as temperature and magnetic fields. Therefore, the error rate cannot be identified only by the screening before shipping.
Moreover, if a little more redundant areas are secured to foresee increase in error rate due to write conditions, aging degradation, environmental conditions, etc., the non-volatile memory area becomes large because of the redundant areas, so that high integration becomes difficult and a unit bit price increases inevitably.